package mortal.game.control
{
    import modules.*;
    import mortal.game.cache.*;
    import mortal.game.events.*;
    import mortal.game.mvc.*;
    import mortal.game.resource.info.*;
    import mortal.game.scene.player.entity.*;
    import mortal.mvc.core.*;
    import mortal.mvc.interfaces.*;

    public class ViewItemController extends Controller
    {
        private var _viewItemModule:ViewItemModule;

        public function ViewItemController()
        {
            
        }

        override protected function initView() : IView
        {
            if (!this._viewItemModule)
            {
                this._viewItemModule = new ViewItemModule();
            }
            return this._viewItemModule;
        }

        public function get viewItemModule() : ViewItemModule
        {
            if (!this._viewItemModule)
            {
                this._viewItemModule = new ViewItemModule();
            }
            return this._viewItemModule;
        }

        override protected function initServer() : void
        {
            Dispatcher.addEventListener(EventName.GetNewEquip, this.getNewEquip);
            
        }

        private function getNewEquip(event:DataEvent) : void
        {
            var _loc_3:ItemData = null;
            var _loc_2:* = event.data as ItemData;
            if (_loc_2.itemInfo.item.level <= Cache.instance.role.entityInfo.level && (_loc_2.itemInfo.item.career == RolePlayer.instance.career || _loc_2.itemInfo.item.career == 0))
            {
                _loc_3 = Cache.instance.pack.rolePackCache.getHeightLevelSortEquip(_loc_2.category, _loc_2.type);
                if (_loc_3)
                {
                    if (_loc_2.color > _loc_3.color)
                    {
                        this.showView(_loc_2);
                    }
                    else if (_loc_2.color == _loc_3.color)
                    {
                        if (_loc_2.itemInfo.item.level > _loc_3.itemInfo.item.level)
                        {
                            this.showView(_loc_2);
                        }
                    }
                }
                else
                {
                    this.showView(_loc_2);
                }
            }
            
        }

        public function showView(param1:ItemData) : void
        {
            if (this.initView())
            {
                this._viewItemModule.update(param1);
                this._viewItemModule.show();
            }
            
        }

    }
}
